//
// Created by chaseaishang on 23-5-11.
//
#pragma once


#include "Render/StdAfx.h"
#include "Render/Texture.h"
#include "Render/SpriteRenderer.h"
#include <memory>
class GameObject
{
public:
    glm::vec2   Position, Size, Velocity;
    glm::vec3   Color;
    float     Rotation;
    bool   IsSolid;
    bool   Destroyed;
    std::shared_ptr<Texture>   Sprite;
public:

    GameObject(glm::vec2 pos, glm::vec2 size, std::shared_ptr<Texture>  sprite, glm::vec3 color = glm::vec3(1.0f), glm::vec2 velocity = glm::vec2(0.0f, 0.0f));
    // Draw sprite
    virtual void Draw(SpriteRenderer &renderer);

};



